package com.eta.common.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * @author 星河一叶Ck
 * @date 2025/9/8
 * @description
 */

@Getter
@NoArgsConstructor
public class HeaderConstant {
    // -------------------------- 前端 → 网关 相关请求头 --------------------------
    /**
     * 认证请求头（前端传递Token时使用）
     * 格式：Authorization: Bearer {token}
     */
    public static final String AUTHORIZATION = "Authorization";

    /**
     * Token前缀（"Bearer " + 空格，与Authorization配合使用）
     */
    public static final String BEARER_PREFIX = "Bearer ";


    // -------------------------- 网关 → 下游服务 相关请求头 --------------------------
    /**
     * 网关传递给下游服务的“用户ID”请求头
     * 下游服务从这个头中获取当前登录用户的ID
     */
    public static final String X_USER_ID = "X-User-Id";

    /**
     * 网关传递给下游服务的“用户名”请求头
     */
    public static final String X_USER_NAME = "X-User-Name";

    /**
     * 网关传递给下游服务的“用户角色”请求头
     */
    public static final String X_USER_ROLE = "X-User-Role";

    /**
     * 网关标识头（用于下游服务验证请求是否来自网关，防止绕过网关直接调用）
     */
    public static final String X_GATEWAY_SIGN = "X-Gateway-Sign";
}
